/**
 * Project Name:MyTest
 * Package Name:com.xuwei.rmi
 * author:David
 * Date:2016年6月17日下午8:48:12
 * Copyright (c) 2016, xw123box@126.com All Rights Reserved.
 *
 */
package com.xuwei.ext.rmi;

import java.net.MalformedURLException;
import java.rmi.AlreadyBoundException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;

/**
 * @author David
 * @since 2016年6月17日 下午8:48:12
 * @version 
 * @since JDK 1.6
 */
public class Server {
	
	public static void main(String[] args) {
		try {
			//定义远程接口HelloInterface对象用于绑定在服务端注册表上，该接口由HelloInterfaceImpl()类实现
			HelloInterface hInterface = new HelloInterfaceImpl();
			int port = 6666;//定义一个端口号
			//创建一个接受对特定端口调用的远程对象注册表   注册表上需要接口一个指定的端口号
			LocateRegistry.createRegistry(port);
			//定义服务端远程调用地址URL格式
			String address = "rmi://localhost:"+port+"/hello";
			//绑定远程地址和接口对象
			Naming.bind(address, hInterface);
			
			//若启动成功，则打印如下信息
			System.out.println(">>>服务启动成功！");
			System.out.println(">>>请启动客户端进行连接访问。");
		} catch (RemoteException e) {
			System.err.println("创建远程对象出现错误！");
			e.printStackTrace();
		} catch (MalformedURLException e) {
			System.err.println("地址出现错误！");
			e.printStackTrace();
		} catch (AlreadyBoundException e) {
			System.err.println("创建远程对象出现错误！");
			e.printStackTrace();
		}
		
	}

}
